module.exports = app => {
    class CustomController extends app.Controller {
      
      success(data) {
        this.ctx.body = {
          state: true,
          data,
        };
      }

      error({msg,err}) {
        this.ctx.body = {
          state: false,
          msg,
          err,
        };
      }
      notFound(msg) {
        msg = msg || 'not found';
        this.ctx.throw(404, msg);
      }
    }
    app.Controller = CustomController;
    app.validator.addRule('json', (rule, value) => {
        try {
          if (typeof value != "object"){
            JSON.parse(value);
          }
          
        } catch (err) {
          return 'must be json string';
        }
      });
  }